The present invention relates to a pointer controlled by a pointer control input device such as a mouse. More specifically, the invention relates to techniques for controlling the pointer to emulate a pointer in a system being emulated.
The Xerox 6085 workstation provides emulation of an IBM PC in a window, as described in copending, coassigned U.S. Pat. applications Ser. Nos. 856,525 and 856,526 ("the workstation applications"), both incorporated herein by reference. In other words, the user can obtain a display that includes a PC emulation window showing the image that would appear on the screen of a PC. This image is based on operations of an emulating coprocessor which provides its outputs to and receives its inputs from the host system. The user may interact with the workstation as if it were a PC, and the display in the emulation window will be updated appropriately by the emulator. Data from the user and from other sources is provided to the emulator through a data structure in memory space accessible to the emulator and allocated to the basic input/output system (BIOS) of the IBM PC. The workstation described in the workstation applications includes a mouse for controlling a pointer or cursor on the display, and, as noted, that mouse could be used to emulate a mouse used with an IBM PC.
Myers, B. A. and Buxton, W., "Creating Highly-Interactive and Graphical User Interfaces by Demonstration", Computer Graphics: SIGGRAPH '86 Conference Proceedings, Dallas, TX, August 18-22, 1986, pp. 249-257, describe a system for creating a user interface in which a simulated mouse, shown in FIGS. 3f and 5, is used to represent the pointer displayed by the interface being created. The designer of an interface being created also has a pointer which is under the control of the actual mouse in the system. The simulated mouse is like an icon, and can be moved by pointing at its nose with the actual mouse. The simulated mouse also has buttons which can be toggled by pointing at them and clicking a button on the actual mouse.
Krishnamurty, R. and Mothersole, T., "Coprocessor Software Support", in IBM RT Personal Computer Technology, IBM Corporation Form No. SA12057, 1986, pp. 142-146, describe a system in which a coprocessor is used to emulate an IBM PC AT personal computer. FIG. 3 shows that a system mouse may be included, but available only to the host processor, referred to as ROMP.
Baker et al., U.S. Pat. No. 4,586,035, describe an interactive display terminal with multiple overlapping windows. Some of the windows have associated virtual distributed menus not normally displayed. If the user moves a cursor controlled by a mouse across a selected region in a window periphery, a selected menu item associated with that region is displayed.
Kawaji et al., U.S. Pat. No. 4,101,879, describe a cursor movement control device for a screen segmented display apparatus. The cursor is moved line by line in each section by a device independent of the data display program on an external computer. The cursor movement control device includes registers for storing the addresses of the first and last positions of each cursor-displayed section of the segmented screen. The registers are controlled so that the data in the registers corresponding to the position of the cursor is compared with the addresses of the first and last positions to move the cursor, line by line, in the section.
Richmond et al., U.S. Pat. No. 4,625,202, describe a technique for generating multiple cursors in a multi-dimensional graphics display system. Each dimension has a range of addresses corresponding to locations in it. The cursor is presented by providing definition signals, each representing locations along one of the dimensions where the cursor occurs. In response to an address representing a location in the other dimension, a definition signal corresponding to that address is selected and a cursor signal is generated when an address in the first dimension corresponds to a location where a cursor occurs as represented by the definition signals.
It would be advantageous to have a more convenient technique for using the mouse of an emulating system to emulate a mouse in the system being emulated.